/**
 * Created by Administrator on 2017/11/8.
 */
import wx from 'weixin-js-sdk';
import {getWXConfig} from '../request/request';
var configSure = false;
export default {
  read(url,cb) {
    getWXConfig(url,function (data) {
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: data.appId, // 必填，公众号的唯一标识
        timestamp: data.timestamp, // 必填，生成签名的时间戳
        nonceStr: data.nonceStr, // 必填，生成签名的随机串
        signature: data.signature,// 必填，签名，见附录1
        jsApiList: [ // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
          'scanQRCode','getLocation','chooseWXPay'
        ]
      });
      wx.ready(function(){
        cb();
      });
      wx.error(function(res){
        alert(JSON.stringify(res) + 'wrong');
      });
    });
  },
  getReady(cb) {
    cb(wx);
  },
  scanQRCode: function(cb) {
    wx.scanQRCode({
        needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
        scanType: ["qrCode"], // 可以指定扫二维码还是一维码，默认二者都有
        success: function (res) {
          var result = JSON.parse(res.resultStr); // 当needResult 为 1 时，扫码返回的结果
          cb(result);
          //cb(res);
        },
        fail: function(res) {
          alert('失败');
        }
      });
  },
  getLocation(cb) {
      wx.getLocation({
        type: 'wgs84', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
        success: function (res) {
          //var latitude = res.latitude; // 纬度，浮点数，范围为90 ~ -90
          //var longitude = res.longitude; // 经度，浮点数，范围为180 ~ -180。
          //var speed = res.speed; // 速度，以米/每秒计
          //var accuracy = res.accuracy; // 位置精度
          cb(res);
        }
      });
  },
  chooseWXPay(data,url,cb) {
    getWXConfig(url,function (data1) {
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: data1.appId, // 必填，公 众号的唯一标识
        timestamp: data1.timestamp, // 必填，生成签名的时间戳
        nonceStr: data1.nonceStr, // 必填，生成签名的随机串
        signature: data1.signature,// 必填，签名，见附录1
        jsApiList: [ // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
          'scanQRCode','getLocation','chooseWXPay'
        ]
      });
      wx.ready(function(){
        wx.chooseWXPay({
          //"appId": data.appId,
          "timestamp": data.timeStamp, // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
          "nonceStr": data.nonceStr, // 支付签名随机串，不长于 32 位
          "package": data.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=***）
          "signType": data.signType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
          "paySign": data.paySign, // 支付签名
          success: function (res) {
            // 支付成功后的回调函数
            cb(res);
          },
          cancel:function() {
            alert('支付取消');
            cb(false);
          },
          error: function(e){
            alert(JSON.stringify(e));
          }
        });
      });
    });
  }
};
